Ext.onReady(function(){
	Ext.QuickTips.init();//支持tips提示
	Ext.form.Field.prototype.msgTarget='side';//提示的方式，枚举值为"qtip","title","under","side"
	
    var toolbar = new Ext.Toolbar([{
        text: "新增",
        handler: newItem
    }, {
        xtype: 'tbseparator'
    }, {
        text: "修改",
        handler: modifyItem
    }, {
        xtype: 'tbseparator'
    }, {
        text: "禁用",
        handler: disableItem
    }]);
    
    var tree = new Ext.tree.ColumnTree({
        width: 800,
        height: 400,
        rootVisible: false,
        autoScroll: true,
        title: '收支项目',
        renderTo: Ext.get("inoutitem_grid"),
        
        columns: [{
            header: '收支项目',
            width: 230,
            hidden: false,
            dataIndex: 'name'
        }, {
            header: '收支类型',
            width: 60,
            hidden: false,
            dataIndex: 'inouttype'
        }, {
            header: '状态',
            width: 40,
            hidden: false,
            dataIndex: 'dqzt'
        }, {
            header: '说明',
            width: 430,
            hidden: false,
            dataIndex: 'explain'
        }, {
            header: 'HomeId',
            width: 50,
            hidden: true,
            dataIndex: 'homeId'
        }],
        
        loader: new Ext.tree.TreeLoader({
            dataUrl: webRoot + '/inoutItem.do?method=getAllItems',
            uiProviders: {
                'col': Ext.tree.ColumnNodeUI
            }
        }),
        
        root: new Ext.tree.AsyncTreeNode({
            text: '收支项目'
        }),
        
        tbar: toolbar
    });
    tree.expandAll();

    var parentItemStore = new Ext.data.Store({
        proxy: new Ext.data.HttpProxy({
            url: webRoot + '/inoutItem.do?method=getParentItems',
            method: 'POST'
        }),
        reader: new Ext.data.JsonReader({
            id: 'id'
        }, [{
            name: 'name'
        }, {
            name: 'inouttype'
        }])
    });

    function newItem(){
        // 新增收支项目Panel，用在新增收支项目窗口中
        var newItemForm = new Ext.FormPanel({
            labelWidth: 85, //label宽
            frame: true,
            collapsible:true,//设为true，显示右上角的收缩按钮，默认为false
            autoHeight:true,
            bodyStyle: 'padding:5px 5px 0',
            width: 350,//宽度
            defaults: {
                width: 230
            },
            
            items: [{
                xtype: 'textfield',
                fieldLabel: '项目名称',
                name: 'name',
                allowBlank: false,
                blankText: '项目名称不能空'
            }, {
                xtype: 'textfield',
                fieldLabel: '说明',
                name: 'explain'
            }, {
                xtype: 'radiogroup',
                fieldLabel: '收支类型',
                columns: 1,
                items: [{
                    boxLabel: '收入',
                    name: 'inouttype',
                    inputValue: 1,
                    checked: true,
                    width: 50
                }, {
                    boxLabel: '支出',
                    name: 'inouttype',
                    inputValue: 0,
                    width: 50
                }, {
                    boxLabel: '从属于父项目',
                    name: 'inouttype',
                    inputValue: 2,
                    width: 100,
                    listeners: {
                        check: function(self, checked){
                            var comboParentItem = Ext.getCmp('comboParentItem');
                            if (checked) 
                                comboParentItem.enable();
                            else 
                                comboParentItem.disable();
                        }
                    }
                }]
            }, new Ext.form.ComboBox({
                id: 'comboParentItem',
                fieldLabel: '父项目',
                hiddenName: 'parentItemId',
                store: parentItemStore,
                valueField: 'id',
                displayField: 'name',
                typeAhead: true,
                mode: 'remote',
                triggerAction: 'all',
                emptyText: '请选择一条父项目...',
                selectOnFocus: true,
                readOnly: true,
                disabled: true,
                width: 190
            })]
        });

        //新增收支项目窗口
        var newItemWin = new Ext.Window({
            layout:'fit',
            width:380,
            autoHeight:true,
            closeAction:'hide',
            resizable:false,//是否可以改变大小
            modal:true,//true为模式窗口，后面的内容都不能操作
            border:false,
            plain : true,//true则主体背景透明，false则主体有小差别的背景色
            title: '新增收支项目',
            items: newItemForm,
            buttons: [{
                text: '保 存',
                disabled: false,
                scope : newItem, // 这里是为了指定this的范围
                handler: function(){
            	    newItemForm.getForm().submit({
            	    	waitMsg : '请稍等...',
            	    	url: webRoot + '/inoutItem.do?method=insertItem',
                        reset : true,
                        success : function(f, a){
            	    	    if (a && a.result) { //a表示action，a.result表示action返回的结果数据
                        	    newItemWin.close();
//                        	    var loader = tree.getLoader();
//                        	    loader.load(tree.getRootNode());
                            }
            	        },
                        failure : function(f, a){
            	        	Ext.Msg.alert('保存失败，请重试！');
            	        },
                        scope : newItem // 这里是为了指定this的范围
            	    });
                }
            }, {
                text: '取 消',
                disabled: false,
                scope : newItem, // 这里是为了指定this的范围
                handler: function(){
            	    newItemWin.close();
                }
            }],
            buttonAlign:'center'
        });
        newItemWin.show();
    }
    
    function modifyItem(){
        alert("id = " + tree.getSelectionModel().getSelectedNode().id);
        var homeId = tree.getSelectionModel().getSelectedNode().attributes["homeId"];
        if (homeId == '8848') {
            alert("系统预置的收支项目，不能进行修改！");
            return false;
        }
    }
    function disableItem(){
    }
});
